using System.Collections;
using UnityEngine;
 public class InputMgr : Singleton<InputMgr>
 {
    private bool isStart = false;

    /// <summary>
    /// 构造函数中 添加Update监听
    /// </summary>
    public InputMgr()
    {
        MonoMgr.Instance().AddUpdateListener(MyUpdate);
    }

    /// <summary>
    /// 是否开启或关闭 我的输入检测
    /// </summary>
    /// <param name="isOpen"></param>
    public void StartOrEndCheck(bool isOpen)
    {
        isStart = isOpen;
    }

    /// <summary>
    /// 事件中心模块 分发按下抬起事件
    /// </summary>
    /// <param name="key"></param>
    private void CheckKeyCode(KeyCode key)
    {
        //事件中心模块 分发按下抬起事件
        if (Input.GetKeyDown(key))
            EventCenter.Instance().EventTrigger("某键按下", key);
        if (Input.GetKeyUp(key))
            EventCenter.Instance().EventTrigger("某键抬起", key);
    }

    private void MyUpdate()
    {
        //没有开启输入检测 就不去检测 直接return
        if (!isStart)
            return;
        CheckKeyCode(KeyCode.W);
        CheckKeyCode(KeyCode.S);
        CheckKeyCode(KeyCode.A);
        CheckKeyCode(KeyCode.D);
    }
 }
